1. Field of the Invention
The present invention relates to a motor control unit and a motor control method for controlling rotation speed of a motor based on a rotation output signal output according to rotation of the motor, and an image forming apparatus using the motor control unit and the motor control method.
2. Description of the Related Art
In the related art, a MFP (Multi-Function Peripheral) is known having functions such as a copy function, a facsimile function, a printer function, a scanner function, a function of delivering an input image (i.e., an original image read by the scanner function, or input by means of the printer function or the facsimile function) and so forth. In such an MFP, a motor having high accuracy is required. For example, when rotation speed of an intermediate transfer belt motor which drives an intermediate transfer belt changes, color drift, or distortion in an image may occur. Therefore, the intermediate transfer belt motor may be controlled in such a manner that target speed is kept as a result of the motor being controlled based on a difference between a rotation output signal output according to rotation of the motor and the target speed signal.
However, in such a manner of controlling a motor based on a difference between a rotation output signal of a motor and a target speed signal, control is carried out at resolution of the rotation output signal of the motor. Therefore, in a case where a period of the rotation output signal is large, it may not be possible to carry out the control with high accuracy.
Japanese Laid-Open Patent Application 04-255867 discloses an art in which, a timer 1107 having a frequency higher than a frequency of a rotation output signal SG1001 (encoder pulse) is used to improve accuracy of control. With reference to FIGS. 13 and 14, the prior art of Japanese Laid-Open Patent Application 04-255867 will now be described. FIG. 13 depicts a functional block diagram of a motor control unit in the prior art.
In FIG. 13, when the rotation output signal SG1001 is output based on rotation of a motor 1021, an input capture 1101 (i.e., a high speed interconnect or an HSI unit) stores information as to how many times counting is carried out by a free-run timer 1111 for a rising edge of the rotation output signal SG1001, in a memory (i.e., a first in first out, or a FIFO) 111. The free-run timer has a frequency sufficiently higher than a frequency of the rotation output signal SG1001.
A CPU (i.e., a control processing unit) 1110 is interrupted by a software timer at a time of the end of a predetermined sampling interval. When being interrupted, the CPU 1110 uses the value which has been stored in the memory as mentioned above and a timer value for an interval from an immediately preceding rising edge of the rotation output signal SG1001 up to the interruption, to calculate an average frequency of the rotation output signal SG1001 in the sampling interval. Further, the CPU uses the average frequency to calculate a speed control indicating value D1004 (i.e., encoder feedback indicating value) to be output to a PWM (i.e., a pulse width modulation) timer 1104 for a motor 1021. Based on the speed control indicating value D1004, the motor 1021 is controlled. Thus, higher control accuracy is attempted.